import Works from "../entity/Works.mjs";
import Site from "../entity/Site.mjs";
import ResourcePluginDTO from "./ResourcePluginDTO.mjs";

/**
 * 插件响应作品信息-DTO
 */
export default class PluginWorksResponseDTO {
    /**
     * 作品信息
     * @type { Works }
     */
    works

    /**
     * 站点
     * @type { Site | undefined | null }
     */
    site

    /**
     * 本地作者
     * @type { LocalAuthorDTO[] | undefined | null }
     */
    localAuthors

    /**
     * 本地标签数组
     * @type { LocalTag[] | undefined | null }
     */
    localTags

    /**
     * 站点作者
     * @type { SiteAuthorPluginDTO[] | undefined | null }
     */
    siteAuthors

    /**
     * 站点标签数组
     * @type { SiteTagPluginDTO[] | undefined | null }
     */
    siteTags

    /**
     * 作品所属作品集
     * @type { WorksSet[] | undefined | null }
     */
    worksSets

    /**
     * 是否更新作品数据
     * @type { boolean | undefined | null }
     */
    doUpdate

    /**
     * 资源
     * @type { ResourcePluginDTO | undefined | null }
     */
    resource

    constructor() {
        this.works = new Works()
        this.site = new Site()
        this.localAuthors = []
        this.localTags = []
        this.siteAuthors = []
        this.siteTags = []
        this.worksSets = []
        this.resource = new ResourcePluginDTO()
    }
}
